Enterprise software systems are typically sophisticated, large-scale systems that support many, e.g., hundreds or thousands, of concurrent users. Examples of enterprise software systems include financial planning systems, budget planning systems, order management systems, inventory management systems, sales force management systems, business intelligent tools, enterprise reporting tools, project and resource management systems and other enterprise software systems.
Many computing platforms include software tools for monitoring current system performance. A performance monitoring tool may, for example, provide information describing processor utilizations, idle processor cycles and other general information. In addition, the performance monitoring utility often supports mechanisms for presenting application-specific information. For example, some conventional performance monitoring utilities allow a user to define and configure counters or timers for capturing specific performance data.
Conventional performance monitoring tools, however, are often complicated and difficult to use. One such software tool, for example, is Performance Monitor™ from Microsoft Corporation of Redmond, Wash. This performance monitoring tool requires strict compliance with a complex data format when providing system performance data to the utility. Moreover, Performance Monitor is generally designed to communicate with software modules written in the C++ programming language. Consequently, it is often difficult to format and provide the data from software modules written in other languages. For these and other reasons, it is often difficult to utilize performance monitoring tools with an enterprise software system, which may involve many cooperating software applications supporting many users.